<html>
<!-- Creation date: 22/01/2002 -->
<head>
<title></title>
<meta name="Description" content="">
<meta name="Keywords" content="">
<meta name="Author" content="RANDOM">
<meta name="Generator" content="AceHTML 4 Pro">
<link href="../SeldonWeb.css" type="text/css" rel="stylesheet">
</head>
<body>
<center><h1>IIntfMap/IIntfStrMap/IMap</h1></center>

<h2>Unit</h2>
	DCL_intf

<h2>Inheritance</h2>
	<p>Base interface</p>

<h2>Methods</h2>
<h3>IIntfIterator</h3>
<code>
    <b>procedure</b> Add(AObject: IInterface);<br>
    <b>function</b> GetObject: IInterface;<br>
    <b>function</b> HasNext: Boolean;<br>
    <b>function</b> HasPrevious: Boolean;<br>
    <b>function</b> Next: IInterface;<br>
    <b>function</b> NextIndex: Integer;<br>
    <b>function</b> Previous: IInterface;<br>
    <b>function</b> PreviousIndex: Integer;<br>
    <b>procedure</b> Remove;<br>
    <b>procedure</b> SetObject(AObject: IInterface);<br>
</code>

<h3>IIterator</h3>
<code>
    <b>procedure</b> Add(<b>const</b> AString: <b>string</b>);<br>
    <b>function</b> GetString: <b>string</b>;<br>
    <b>function</b> HasNext: Boolean;<br>
    <b>function</b> HasPrevious: Boolean;<br>
    <b>function</b> Next: <b>string</b>;<br>
    <b>function</b> NextIndex: Integer;<br>
    <b>function</b> Previous: <b>string</b>;<br>
    <b>function</b> PreviousIndex: Integer;<br>
    <b>procedure</b> Remove;<br>
    <b>procedure</b> SetString(<b>const</b> AString: <b>string</b>);<br>
</code>

<h3>IIterator</h3>
<code>
    <b>procedure</b> Add(AObject: TObject);<br>
    <b>function</b> GetObject: TObject;<br>
    <b>function</b> HasNext: Boolean;<br>
    <b>function</b> HasPrevious: Boolean;<br>
    <b>function</b> Next: TObject;<br>
    <b>function</b> NextIndex: Integer;<br>
    <b>function</b> Previous: TObject;<br>
    <b>function</b> PreviousIndex: Integer;<br>
    <b>procedure</b> Remove;<br>
    <b>procedure</b> SetObject(AObject: TObject);<br>
</code>

<h2>Description</h2>

<p>An Iterator is an entity that provides methods to access or manipulate objects contained in a collection.</p>

<table border="1" width="80%" align="center" bgcolor="white" cellpadding="5" cellspacing="0">
  <tr>
  	<th bgcolor="silver"> Method	</td>
		<th bgcolor="silver"> Description </td>
  </tr>
  <tr>
    <td>Add</td>
    <td>
			Add <i>AObject</i> in the collection at the current position of the iterator.
		</td>
  </tr>
  <tr>
    <td>GetObject</td>
    <td>
			Return the object from the current position of the iterator.
		</td>
  </tr>
  <tr>
    <td>HasNext</td>
    <td>
			Return True if there is an object in the collection at the next step of the iterator.
		</td>
  </tr>
  <tr>
    <td>HasPrevious</td>
    <td>
			Return True if there is an object in the collection at the previous step of the iterator.
		</td>
  </tr>
  <tr>
    <td>Next</td>
    <td>
			Return the object from the current position and increment the step of the iterator.
		</td>
  </tr>
  <tr>
    <td>NextIndex</td>
    <td>
			Return the next index of the iterator.
		</td>
  </tr>
  <tr>
    <td>Previous</td>
    <td>
			Decrement the step of the iterator and Return the object from the new current position.
		</td>
  </tr>
  <tr>
    <td>PreviousIndex</td>
    <td>
			Return the previous index of the iterator.
		</td>
  </tr>
  <tr>
    <td>Remove</td>
    <td>
			Remove the object from the collection at the current position of the iterator?
		</td>
  </tr>
  <tr>
    <td>SetObject</td>
    <td>
			Set <i>AObject</i> in the collection at the current posistion of the iterator.
		</td>
  </tr>
</table>

<h2>Implemented By</h2>
	<ul>
		<li> <a href="../Classes/ArrayList.html">ArrayList</a>
		<li> <a href="../Classes/LinkedList.html">LinkedList</a>
		<li> <a href="../Classes/Vector.html">Vector</a>
	</ul>

</body>
</html>
